/*************************************************************************
    > File Name    : Socket.cc
    > Author       : LiuLei
    > Mail         : 2261459486@qq.com 
    > Created Time : 2022年11月25日 星期五 10时18分47秒
 ************************************************************************/

#include "../../include/server/Socket.h"
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <unistd.h>

Socket::Socket()
{
    _fd = ::socket(AF_INET, SOCK_STREAM, 0);
    if(_fd < 0)
    {
        ::perror("socket in Socket::Socket()");
        return ;
    }
}

Socket::Socket(int fd)
: _fd(fd)
{

}

Socket::~Socket()
{
    ::close(_fd);
}

int Socket::getFd() const
{
    return _fd;
}

void Socket::shutDownWrite()
{
    //关闭写端
    int ret = ::shutdown(_fd, SHUT_WR);
    if(ret)
    {
        ::perror("shutdown in Socket::shutDownWrite()");
    }
}
